package com.palpiteiro.dao;

import java.sql.Date;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

import com.palpiteiro.bean.*;

public class CotacaoDAO extends IDAO {

	@Override
	public ResultSet select(IBean bean) throws SQLException {

		Cotacao cotacao = (Cotacao) bean;
		String sql = "";
		
		sql = "select id_cotacao, id_empresa, valor_atual, qtde_bolsa, qtde_comprada, dt_atualizacao"
				+ " from \"Empresa\".\"Cotacao\" where ";
		
		if(cotacao.getId_cotacao()!=0)
			sql += " id_cotacao = ? ";
		else if(cotacao.getId_empresa()!=0)
			sql += " id_empresa = ? order by dt_atualizacao";
		
		PreparedStatement stmt = getConn().prepareStatement(sql);
		
		if(cotacao.getId_cotacao()!=0)
			stmt.setInt(1, cotacao.getId_cotacao());
		else if(cotacao.getId_empresa()!=0)
			stmt.setInt(1, cotacao.getId_empresa());
		
		ResultSet rs = stmt.executeQuery();
		
		return rs;
	}

	@Override
	public void insert(IBean bean) throws SQLException {
		
	}

	@Override
	public void update(IBean bean) throws SQLException {

		Cotacao cotacao = (Cotacao) bean;
		String sql = "";
		
		sql = "update \"Empresa\".\"Cotacao\" set " + 
				"id_empresa=?, valor_atual=?, qtde_bolsa=?, qtde_comprada=?, dt_atualizacao=? where id_cotacao=?";

		PreparedStatement stmt = getConn().prepareStatement(sql);
		
		stmt.setInt(1, cotacao.getId_empresa());
		stmt.setDouble(2, cotacao.getValor_atual());
		stmt.setInt(3, cotacao.getQtde_bolsa());
		stmt.setInt(4, cotacao.getQtde_comprada());
		stmt.setDate(5, new Date(System.currentTimeMillis()));
		stmt.setInt(6, cotacao.getId_cotacao());

		stmt.executeUpdate();
		
		stmt.close();
		closeConn();
	}

}
